package com.echo.im.engin.netty.processor;

import com.echo.im.common.enums.IMCmdType;

/**
 * 定义了一个消息处理器接口，用于处理不同类型的消息
 * 该接口使用了泛型T，以支持不同种类的数据处理
 * @author echo
 */
public interface MessageProcessor<T> {

    /**
     * 获取该消息处理器支持的消息命令类型
     * 用于标识和区分不同的消息类型
     *
     * @return 消息命令类型
     */
    public IMCmdType getCmdType();

    /**
     * 将任意对象转换为该消息处理器处理的消息类型
     * 提供了类型转换的功能，以支持不同类型的数据处理
     *
     * @param o 要转换的对象
     * @return 转换后的消息数据
     */
    public T transForm(Object o);

}

